1. Field of the Invention
The invention is generally directed to detecting outages between two or more communicating systems, and, more particularly, to detecting outages within a medical record exchange system using flow analysis.
2. Description of the Related Art
In some data systems there is a need to exchange information with a separate, distinct data system over one or more communication channels. These data systems may be managed by two or more independent entities, and the exchange of information may comprise the communication of information between separate repositories maintained by these independent entities.
For example, the Clinical Health Data Repository (CHDR) of the Department of Veteran Affairs (“VA”) must frequently exchange information with a CHDR system of the Department of Defense (“DoD”). At its core, the CHDR of the VA is a medical record exchange system that maintains synchronization of a certain set of patients' medical records, i.e., records marked as “Active Dual Consumer” (ADC). These records are synchronized between the DoD's Clinical Data Repository (CDR) system and the VA's Health Data Repository (HDR) through interactions with and between the agencies' separate CHDR systems. Once a patient is marked as ADC, the patient's medical records are synchronized between the two agencies. Consequently, whenever the patient's medical records are updated in the repository of one agency, the medical records must also be updated in the repository of the other agency.
Seven message types are utilized for the exchange of information between the two distinct CHDR systems of the VA and DoD. The messages, termed “Z messages,” allow for the marking of a patient as ADC, and provide for the exchange of clinical data related to ADC-marked patients. Specifically, “Z01” and “Z02” messages provide for the marking of a patient for clinical data sharing, “Z05,” “Z06,” and “Z07” messages provide for a batch exchange of marked patients' past medical data, and “Z03” and “Z04” messages provide for the continual exchange of current medical data going forward. Each of these messages is exchanged in the form of an eXtensible Markup Language (XML) Health-Level 7 (HL7) message, which is the standard message format for medical record data. Each Z-message may be described as follows:
Z01 message: The ADC process for each patient is initiated within either agency (e.g., VA and/or DoD)—or, more specifically, the CHDR system of either agency—via transmission of a Z01 message to the other CHDR system. This message comprises a payload which includes a patient's traits information, such as name, date of birth, Social Security number, and the like. This traits information can be used by the receiving system to verify the existence of the patient in its respective medical data system. For example, the receiving system may utilize at least a portion of the traits information to generate a query for a respective data repository (e.g., one or more databases). If the patient exists within the data repository, an indication of the patient's existence and status or non-existence is returned in response to the query, in the form of a Z02 message.
Z02 message: This message is transmitted in response to a Z01 message received by either CHDR system. Based on the query results using the traits information passed in the corresponding Z01 message, the ADC status of the patient is determined. If a patient was identified by the query, the patient may be marked as ADC active. The Z02 response is then returned to the initiating CHDR system (i.e., the system which transmitted the Z01 message) to notify the initiating CHDR system that information exchange and synchronization may commence for this patient. However, if an ADC match is not found, a Z02 response is returned notifying the initiating CHDR system of a no-match condition.
Z03 message: This message may be transmitted from one CHDR system to the other CHDR system to initiate an update of an ADC patient's medical record at the other system. As ADC patients receive care at either agency's medical facilities, their clinical data is updated within the treating agency's repository. These updates are sent from the treating agency's repository or CHDR to the other agency's CHDR. For example, the payload of the Z03 message may comprise patient information (e.g., to facilitate identification of the patient within the receiving system's repository), as well as the updates to the patient information, such as pharmacy data, allergy data, laboratory data, and the like. Thus, the Z03 message represents a clinical update, with data being exchanged between the agencies' CHDR systems.
Z04 message: This message is transmitted in response to a Z03 clinical update message, and verifies receipt and processing of the Z03 message by the system which received the Z03 message.
Z05 message: This message may be transmitted from one CHDR system to the other CHDR system to initiate a one-time batch exchange of clinical data. The initiating system sends the Z05 message to the other system to request a patient's medical data. The message payload may comprise a synchronization flag indicating that the receiving system should send a corresponding Z05 message to the initiating system in order to complete the batch exchange of data for the patient. Upon receiving the Z05 message, the receiving system may verify the existence of the ADC patient (e.g., by querying a respective data repository) in order to package the patient's clinical data in a Z06 response message, described below.
Z06 message: This message is transmitted in response to a Z05 message received by either CHDR system. The message payload may comprise all or a portion of the patient's clinical data contained in a data repository of the transmitting system. Due to the potential amount of clinical data for a patient, the size of a message comprising all such data may be too large, according to some policy, implementation, or limitation of the system or a network between the two systems. Thus, in such a case, multiple Z06 messages may be sent in response to a single Z05 batch exchange request in order to transmit the patient's full medical record.
Z07 message: This message may be transmitted by a system which previously transmitted a Z05 message, once all Z06 messages have been received and processed by the system. Accordingly, the Z07 message indicates that the complete medical record of an ADC patient has been received, and completes a batch exchange of clinical data for the patient.
Historically, information technology centers have hunted for outages by checking for down servers, hung processes, or network traffic. While these techniques are capable of detecting some issues, they are incapable of detecting outages in message flow, for example, during exchange of the Z-messages described above or during exchange of other types of response-request messages. For example, if a first system is initiating requests for data to a remote, separately-operated second system, and the second system is not returning responses, there are no standard information technology techniques available to the first system to determine the issue at the second system.